package com.example.justbuy.mapper;


import com.example.justbuy.pojo.Goods;
import com.example.justbuy.pojo.Order;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Mapper
@Repository
public interface OrderMapper {
    //显示所有的订单
    List<Order> getAllOfOrderByUserId( int userid);
    //显示不同状态的的订单：待付款，已付款，待发货，已发货
    List<Order> getPayOfOrderByUserId(Map map);
    //同一订单有多少个物品
    int getTheGoodsOfOrderById(int id);
    //获取不同订单状态的数量
    int getNumberOfOrderByState(String state);
    //添加订单
    int addNewOrderById(Map map);
    //根据userid和orderid获取对应的信息
    List<Order> getTheOrderByUseridAndOrderId(Map map);
    //根据userid和orderid获取对应订单的总金额
    Double getSumOfOrderByOrderAndUserId(Map map);
    //根据goodsid 查询goods表，获取相应信息
    Goods getOneOfGoodsByGoodsId(int id);
    //根据订单号修改订单状态
    int updateStateById01(Map map);
    //根据订单号修改地址状态
    int updateaddressId(Map map);
    //根据订单号修改订单状态
    int updateStateById(Map map);
    //根据payId修改订单状态
    int updateStateBypayId(Map map);
    //根据订单号修改payId
    int updatePayIdById(Map map);
    //获取不同订单状态的数量
    Integer getSum0fOrderByState(Map map);
    //根据id删除对应的订单
    int  deleOrderByOrderId(String orderId);
    //根据订单ID获取对应信息
    List<Order> getTheInfoOrder(Map map);
    //根据id获取订单
    Order getById(int id);

}
